Video has become an important component in both the entertainment industry and business. Movies, television programs, Internet video, video games, and the like, have become the dominant way for users seeking information and/or diversion, while videos, commercials, and so forth, have become significant avenues for businesses to market themselves and their products. Additionally, traditional broadcast media (such as television) has given way to the Internet and other communications network, as well as personal media (such as video discs, memory cards, and so forth) as video distribution methods.
However, video may require a considerable amount of storage space to store and network bandwidth to transmit if left in an uncompressed state. This is especially true with high resolution video, such as various forms of high-definition video. Compressing the video trades image quality for a reduction in storage space and network bandwidth requirements. However, if a good video compression technique is used, such as H.264/AVC, for example, then the image quality does not need to be noticeably degraded to significantly reduce storage space and network bandwidth.
Unfortunately, compressing (encoding), uncompressing (decoding), and converting (transcoding) video may also require a large amount of processing power. A large number of solutions have been presented that provide a combination of video encoding, decoding, and/or transcoding solutions. However, these techniques have generally been fixed solutions, meaning that they are designed to perform a particular combination of video encoding, decoding, and/or transcoding, and may not be capable of performing a different combination or multiple combinations of video encoding, decoding, and/or transcoding.
Furthermore, elaborate video buffering schemes have been developed since the commonly used two video buffer system, wherein the two video buffers are used in an alternating, ping-pong fashion, may not be adequate to provide sufficient video buffer data rates required for high resolution video. These elaborate video buffering schemes may be expensive both in terms of hardware and software requirements.